package com.hup.joystick.mvp;

import com.hup.joystick.model.BootOption;
import com.hup.joystick.model.MainConfig;
import com.hup.joystick.service.joystick.AutoConnectListener;
import com.hup.utils.swing.frame.BaseFrame;

/**
 * @author hugan
 * @date 2020/10/15
 */
public interface MainMvp {

    interface MainPresenter {
        void startUp(BootOption bootOption) throws Exception;

        void doExit();

        void startAutoConnect(AutoConnectListener autoConnectListener);

        void stopAutoConnect(boolean waitEndingThread);

        /**
         * 根据 {@link MainConfig#lstFunctionRecord}与实际找到的功能配置文件,
         * 构造 {@link MainConfig#lstFunction}
         */
        void buildFunctionConfig(MainConfig config);

        void onWindowClosing(Class<? extends BaseFrame> clz);
    }

}
